/*
 * Copyright (C) 2017-2021
 * All rights reserved, Designed By
 * Copyright authorization contact 18814114118
 */
package com.shop.cereshop.app.page.settlement;

import com.shop.cereshop.app.page.cart.CartSku;
import com.shop.cereshop.app.page.product.ProductCoupon;
import com.shop.cereshop.commons.domain.shop.CereBusinessTime;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 结算返回店铺数据
 */
@Data
@ApiModel(value = "SettlementShop", description = "结算返回店铺数据")
public class SettlementShop {

    /**
     * 配送属性,用于区分店铺类型
     */
    @ApiModelProperty(value = "配送属性 1-线下核销 2-快递")
    private Integer  driverDistribution;
    /**
     * 店铺地址
     */
    @ApiModelProperty(value = "城市编码")
    private String shopAdress;
    /**
     * 店铺地址-省
     */
    @ApiModelProperty(value = "店铺省份")
    private String shopAdressProvince;

    /**
     * 店铺市
     */
    @ApiModelProperty(value = "店铺所在市区")
    private String  shopAdressCity;

    /**
     * 店铺详细地址
     */
    @ApiModelProperty(value = "店铺详细地区")
    private String  shopAdressDetail;

    /**
     * 店铺id
     */
    @ApiModelProperty(value = "店铺id")
    private Long shopId;

    /**
     * 店铺名称
     */
    @ApiModelProperty(value = "店铺名称")
    private String shopName;


    /**
     * 店铺logo
     */
    @ApiModelProperty(value = "店铺logo")
    private String shopLogo;

    /**
     * 商品数据
     */
    @ApiModelProperty(value = "商品数据")
    private List<CartSku> skus;

    /**
     * 配送方式信息
     */
    @ApiModelProperty(value = "配送方式信息")
    private Distribution distribution;

    /**
     * 商品总件数
     */
    @ApiModelProperty(value = "商品总件数")
    private Integer number;

    /**
     * 店铺总计
     */
    @ApiModelProperty(value = "店铺总计")
    private BigDecimal total;


    /**
     * 店铺优惠券数据
     */
    @ApiModelProperty(value = "店铺优惠券数据")
    private List<ProductCoupon> shopCoupons;

    /**
     * sku的优惠信息
     */
    @ApiModelProperty(value = "sku的优惠信息")
    private Map<Long, List<String>> skuDiscountInfoMap;

    /**
     * 定价捆绑sku优惠后的金额
     */
    @ApiModelProperty(value = "定价捆绑sku优惠后的金额")
    private BigDecimal priceAfterDiscount;

    /**
     * 收货地址与商家配送区域不匹配
     */
    @ApiModelProperty("收货地址与商家配送区域不匹配")
    private boolean receiveNotMatch;


    /**
     *店铺类型
     */
    @ApiModelProperty("店铺资质,1-普通企业店 2-个体工商户3-品牌旗舰店 4-其他组织")
    private Integer authenType;


    /**
     * 店铺类型
     */
    @ApiModelProperty(value = "1表示同城服务,2表示线上商城,3表示同城配送")
    private Integer status;

    /**
     * 店铺营业时间
     */
    @ApiModelProperty(value = "店铺营业时间")
    private List<CereBusinessTime> week;


    /**
     * 设置是否全天
     */
    @ApiModelProperty(value = "设置是否是全天，1-表示是，0表示否")
    private   Integer AllDayToUse;


    /**
     * 数据库中的店铺类型
     */
    @ApiModelProperty(value = "1-表示同城服务，2-表是同城配送/线上商城")
    private   Integer type;


    /**
     * 店铺点位
     */
    @ApiModelProperty(value = "店铺点位")
    private   String location;


    /**
     * 店铺评论数量
     */
    @ApiModelProperty(value = "店铺评论数量")
    private   Integer commentCount;

    /**
     * 店铺评论分数
     */
    @ApiModelProperty(value = "店铺评论分数")
    private   BigDecimal avgStar;

    /**
     * 店铺总销量
     */
    @ApiModelProperty(value = "店铺总销量")
     private Long  totalSalesVolume;

    /**
     * 商家到店铺之间的距离是多少
     */
    @ApiModelProperty(value = "商家到店铺之间的距离是多少")
    private Double  userAndShopDistance;

    /**
     * 店铺标签
     */
    @ApiModelProperty(value = "获取店铺标签")
    private List<String> shopLabels;



}
